package com.leetcode;

import java.util.HashSet;
import java.util.Set;

/**
 * 217. 存在重复元素
 * Set 查找
 *
 * @author fy
 * @date 2022/4/8 21:41
 */
public class Solution217 {

    // O(n)
    public boolean containsDuplicate(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            if (!set.add(nums[i])) {
                return true;
            }
        }
        return false;
    }

    // 暴力法通不过最后一个测试用例 10^5 * 10^5 = 100亿 n^2的算法通不过
    public boolean containsDuplicate1(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] == nums[j]) {
                    return true;
                }
            }
        }
        return false;
    }
}
